package com.shunda.pay.service;

import com.shunda.pay.dto.WxChatBasePayDto;
import com.shunda.pay.dto.WxChatProfitSharingDto;
import com.shunda.pay.dto.WxChatQueryProfitsSharingDto;
import com.shunda.pay.dto.WxChatReceiversAddDto;
import com.shunda.pay.dto.WxTransferDto;
import com.shunda.trade.entity.TradeProfitSharingAccount;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;

import java.io.UnsupportedEncodingException;

/**
 * @author
 */
public interface IWeChatPayService {

    /**
     * 微信支付
     */
    PrepayWithRequestPaymentResponse pay(WxChatBasePayDto payData);

    /**
     * 分账
     */
    String createProfitSharingOrder(WxChatProfitSharingDto param);

    /**
     * 添加分账接收方
     */
    TradeProfitSharingAccount receiversAdd(WxChatReceiversAddDto param, String userName);

    /**
     * 删除分账接收方
     */
    Boolean receiversDel(WxChatReceiversAddDto param, String userName);

    /**
     * 查询分账结果
     */
    String queryProfitSharing(WxChatQueryProfitsSharingDto param);

    /**
     * 商家转账到零钱
     */
    String transferToWallet(WxTransferDto transferDto) throws RuntimeException;

}
